Skip to content

Include Alpine Linux installation steps - #897

Open
ScottRFrost wants to merge 4 commits into
netbirdio:mainfrom
ScottRFrost:patch-1
Open

Include Alpine Linux installation steps#897
ScottRFrost wants to merge 4 commits into
netbirdio:mainfrom
ScottRFrost:patch-1

Conversation

@ScottRFrost

@ScottRFrost ScottRFrost commented Jul 31, 2026

Copy link
Copy Markdown

Add installation instructions for Alpine Linux, including CLI and desktop app setup.

Summary by CodeRabbit

  • Documentation
    • Added installation instructions for Alpine Linux, covering CLI-only and desktop app setups.
    • Documented service startup, activation, initial connection, boot-time setup, and package updates.
    • Added Alpine Linux 3.23+ to the supported distributions list.

Add installation instructions for Alpine Linux, including CLI and desktop app setup.
@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

@ScottRFrost is attempting to deploy a commit to the NetBird GmbH Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The Linux installation guide adds Alpine Linux 3.23+ support. It documents CLI-only and desktop-app installation, service startup, activation, OpenRC registration, and package-based updates.

Changes

Alpine Linux installation

Layer / File(s) Summary
Alpine support and setup instructions
src/pages/get-started/install/linux.mdx
The support matrix includes Alpine Linux 3.23+. The guide adds CLI-only and desktop-app setup commands, service startup, netbird up, OpenRC registration, and package-based updates.

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

A rabbit hops through Alpine snow,
With CLI steps in tidy rows.
The service starts, the tunnel sings,
OpenRC remembers everything.
Packages update, the hare beams bright.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Alpine Linux installation steps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

src/pages/get-started/install/linux.mdx

Oops! Something went wrong! :(

ESLint: 9.39.5

TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Object'
| property 'configs' -> object with constructor 'Object'
| property 'flat' -> object with constructor 'Object'
| ...
| property 'plugins' -> object with constructor 'Object'
--- property 'react' closes the circle
Referenced from:
at JSON.stringify ()
at file:///node_modules/@eslint/eslintrc/lib/shared/config-validator.js:308:45
at Array.map ()
at ConfigValidator.formatErrors (file:///node_modules/@eslint/eslintrc/lib/shared/config-validator.js:299:23)
at ConfigValidator.validateConfigSchema (file:///node_modules/@eslint/eslintrc/lib/shared/config-validator.js:330:84)
at ConfigArrayFactory._normalizeConfigData (file:///node_modules/@eslint/eslintrc/lib/config-array-factory.js:676:19)
at ConfigArrayFactory._loadConfigData (file:///node_modules/@eslint/eslintrc/lib/config-array-factory.js:641:21)
at ConfigArrayFactory._loadExtendedShareableConfig (file:///node_modules/@eslint/eslintrc/lib/config-array-factory.js:946:21)
at ConfigArrayFactory._loadExtends (file:///node_modules/@eslint/eslintrc/lib/config-array-factory.js:814:25)
at ConfigArrayFactory._normalizeObjectConfigDataBody (file:///node_modules/@eslint/eslintrc/lib/config-array-factory.js:752:25)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/pages/get-started/install/linux.mdx`:
- Line 159: Update the subsection around the Alpine package management
instruction to use “Updating” as the heading. Move the explanatory text and `apk
update && apk upgrade` command into normal body content, and explicitly name the
NetBird packages if the command is intended to update only those packages.
- Line 24: Update the Alpine Linux entry in the support table and related
installation guidance to match the Alpine package contract: either document the
exact compatible GTK 4 and WebKitGTK runtime packages before installing
netbird-ui, or mark Alpine as CLI-only until package metadata confirms
compatibility. Do not add Alpine runtime dependencies speculatively.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 8f204c02-7254-4ea4-909e-1e7cd8f2b2f8

📥 Commits

Reviewing files that changed from the base of the PR and between cb6aa7b and eef5332.

📒 Files selected for processing (1)
  • src/pages/get-started/install/linux.mdx

| Fedora | 43 and newer | any supported release |
| RHEL / AlmaLinux / Rocky | 10 and newer, with [EPEL](https://docs.fedoraproject.org/en-US/epel/getting-started/) | any supported release |
| Amazon Linux | not available | 2 and 2023 |
| Alpine Linux | 3.23 and newer | 3.23 and newer |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== File excerpt =="
if [ -f src/pages/get-started/install/linux.mdx ]; then
  sed -n '1,220p' src/pages/get-started/install/linux.mdx | cat -n
else
  echo "missing src/pages/get-started/install/linux.mdx"
fi

echo "== Build/package hints =="
for f in package.json src/pages/get-started/install/linux.mdx; do
  [ -f "$f" ] && { echo "--- $f"; sed -n '1,220p' "$f"; }
done

echo "== Static docs references =="
rg -n "GTK|WebKit|netbird-ui|Alpine|Alpine Linux|desktop|Line 9|openresolv|Wayland" src/pages/public public/docs-static 2>/dev/null || true

Repository: netbirdio/docs

Length of output: 18554


🌐 Web query:

Alpine Linux package netbird-ui 0.72.2-r0 dependencies openresolv musl Wayland gtk webkit

💡 Result:

The Alpine Linux package netbird-ui version 0.72.2-r0, available in the community repository, has explicit runtime dependencies that ensure its core functionality, including networking and graphical interface support [1][2]. Regarding the dependencies you specified: 1. openresolv: The netbird-ui package (along with the core netbird package) lists openresolv as a dependency [3]. This is required to manage DNS information for the NetBird overlay network [3]. 2. musl: As an Alpine Linux package, netbird-ui is natively built against and depends on the musl standard C library [4]. 3. Wayland / gtk / webkit: While netbird-ui requires underlying graphical infrastructure to render its interface (typically using Wails-based technology that relies on GTK and WebKitGTK), these are generally provided by the system's runtime libraries [5]. Alpine's package manager handles the necessary shared object requirements (e.g., libwayland, libgtk, and WebKitGTK-related libraries) to satisfy the binary's runtime needs [4]. Note that upstream maintainers have noted that in some Linux distributions, these dependencies may need to be installed explicitly if they are not correctly declared or auto-resolved by the package manager, though Alpine's packaging is designed to include these requirements [5]. In summary, openresolv is a direct package dependency [3], musl is the base system library [4], and the necessary Wayland, GTK, and WebKit components are satisfied through the package's declared runtime requirements for graphical and windowing libraries [4].

Citations:


🌐 Web query:

site:pkgs.alpinelinux.org v3.23 community x86_64 netbird openresolv Wayland libgtk4 libwebkitgtk-6.0

💡 Result:

In the Alpine Linux v3.23 community repository for the x86_64 architecture, the NetBird package (version 0.72.2-r0) is available as a WireGuard-based overlay network and mesh VPN solution [1]. While core components like NetBird and its documentation are listed as standalone packages [1][2], the graphical user interface component, netbird-ui, is often associated with dependencies involving Wayland display protocols and GTK-based libraries [3]. Specifically, WebKitGTK-6.0 (which includes libwebkitgtk-6.0) relies on GTK4 (libgtk4) and Wayland support to render web-based interfaces within Linux desktop environments [4][5]. Additionally, openresolv is a common dependency for network-related tools on Alpine Linux to manage DNS configurations, and it is frequently linked with NetBird's networking operations [3]. In summary, these components typically function together as part of the broader NetBird ecosystem, where the core daemon handles VPN connectivity and the UI package provides the graphical interface, leveraging GTK4 and WebKitGTK for rendering, with openresolv managing the necessary DNS resolution updates [4][5][3].

Citations:


🌐 Web query:

Alpine Linux packages v3.23 netbird-ui dependencies GTK WebKitGTK

💡 Result:

The netbird-ui package is available in the Alpine Linux community repository for version 3.23 [1][2]. The NetBird desktop application is built using Wails 3, which relies on GTK 4 and WebKitGTK 6.0 [3][4]. While official package repositories for distributions like Ubuntu, Fedora, and RHEL have specific guidance on installing these dependencies [4], Alpine Linux packaging typically manages declared dependencies automatically if they are correctly defined in the package metadata [3]. If you encounter runtime issues where the interface fails to load or interact properly (such as file dialogs crashing or menus not rendering), ensure that your system has the equivalent GTK 4 and WebKitGTK 6.0 packages installed, as these are mandatory requirements for the current netbird-ui desktop application [3][4]. You can verify the required runtime environment by checking the application's behavior and the system's installed libraries [4][5].

Citations:


🌐 Web query:

pkgs.alpinelinux.org package v3.23 community x86_64 netbird-ui deps openresolv wayland libgtk4 libwebkitgtk-6.0

💡 Result:

As of July 31, 2026, the Alpine Linux v3.23 community package for netbird-ui (version 0.72.2-r0) on x86_64 does not explicitly list openresolv, wayland, libgtk4, or libwebkitgtk-6.0 as formal package dependencies in its metadata [1][2]. While modern versions of the NetBird desktop application (specifically those built with Wails 3) rely on GTK 4 and WebKitGTK 6.0 to render their graphical user interfaces, official Alpine Linux packages often manage these requirements differently [3][4]. In some cases, necessary graphical libraries may be pulled in as sub-dependencies or optional runtime requirements rather than being explicitly defined in the top-level package metadata for netbird-ui [1]. If you are encountering issues running the GUI, it is confirmed that the application requires a functional GTK 4 and WebKitGTK 6.0 environment to render correctly [3][4]. Users on systems lacking these libraries may experience runtime failures, as the application cannot render its interface without them [4]. Openresolv is typically associated with network configuration (DNS management) for the NetBird client, but it is not a direct build or package-level dependency for the graphical UI component itself [5].

Citations:


Align Alpine desktop support with the Alpine package contract.

The table advertises Alpine desktop support, and line 153 installs netbird-ui, but the preceding dependency guidance is for GTK 4.10+/WebKitGTK 6.0 and the documented packages are Debian/Fedora/RHEL packages. Document the exact Alpine GTK 4 and WebKitGTK packages, or mark Alpine as CLI-only until the Alpine package matches those dependencies. Add the Alpine runtime packages only after the package metadata shows the correct compatibility.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/get-started/install/linux.mdx` at line 24, Update the Alpine Linux
entry in the support table and related installation guidance to match the Alpine
package contract: either document the exact compatible GTK 4 and WebKitGTK
runtime packages before installing netbird-ui, or mark Alpine as CLI-only until
package metadata confirms compatibility. Do not add Alpine runtime dependencies
speculatively.

Source: MCP tools

Comment thread src/pages/get-started/install/linux.mdx Outdated
rc-update add netbird default
```

#### update then just work with normal Alpine package management `apk update && apk upgrade`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Move the update instruction out of the heading.

Use #### Updating as the subsection title. Put the explanation and apk command in normal body content. If the command should update only NetBird packages, list those packages explicitly.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/get-started/install/linux.mdx` at line 159, Update the subsection
around the Alpine package management instruction to use “Updating” as the
heading. Move the explanatory text and `apk update && apk upgrade` command into
normal body content, and explicitly name the NetBird packages if the command is
intended to update only those packages.

I omitted the fact that the community repo had to be enabled in my original commit
Comment thread src/pages/get-started/install/linux.mdx Outdated
@TechHutTV

Copy link
Copy Markdown
Collaborator

Hey @ScottRFrost , thanks for putting this together. Alpine support is a nice addition and I verified the packages are real in the community repo, so I do want to get this merged. A few things to fix up first.

Support table. Alpine 3.23 ships NetBird 0.72.2, which is before the new desktop app landed in 0.75.0. So netbird-ui there is the old tray UI, not the desktop app this table is about. Alpine 3.24 ships 0.76.1 and its netbird-ui pulls GTK 4 and WebKitGTK 6.0 automatically, so the row should be:

| Alpine Linux | 3.24 and newer | 3.23 and newer |

The --disable-dns flag. Is there an actual DNS issue on Alpine, or is this just preference? If there's a real problem (udhcpc rewriting resolv.conf or whatnot) let's say that in the doc. If not, drop the flag. Also do note the typo in the comments, it reads --diable-dns in two spots. And the other sections on this page stop at install, they don't run netbird up at all, so I'd lean toward cutting those lines entirely.

Headings. Keep the heading short like the rest of the page, ### Alpine Linux (apk), and move the community repo requirement and the update note into the body. The community repo step also needs the actual instruction (uncomment the community line in /etc/apk/repositories), right now the heading mentions it but the steps skip it.

Small stuff:

  • Use ```bash on the code fences and sudo on the commands to match the rest of the page.
  • Since netbird-openrc ships the init script, go ahead and use rc-service netbird start plus rc-update add netbird default instead of mixing in netbird service start.
  • On updates, stable Alpine pins the NetBird version it shipped with, so apk upgrade only gets you patch bumps. New NetBird releases come with the next Alpine release. Worth a one-liner so nobody expects 0.77 to show up on 3.24.

Happy to merge once those are in. Thanks again!

Updated installation instructions for Alpine Linux and added commands for starting the NetBird service.
@ScottRFrost

Copy link
Copy Markdown
Author

Completed as requested. I don't think we need to add more info about apk upgrade based on the info provided for other distros, but feel free to change. apk upgrade will actually upgrade, for example after you update from 3.23 to 3.24.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/pages/get-started/install/linux.mdx (2)

142-159: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Fix the failing MDX build before merge.

npm run build exits with module resolution failure:

  • ERR_MODULE_NOT_FOUND: Cannot find package 'mdx-annotations' imported from /home/jailuser/git/mdx/remark.mjs
  • The build fails before generating the netbirdio/docs pages.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/get-started/install/linux.mdx` around lines 142 - 159, Fix the MDX
build configuration around remark.mjs by resolving or removing the missing
mdx-annotations package import. Ensure the documentation build completes
successfully and generates the netbirdio/docs pages, while preserving the Alpine
Linux installation content.

Source: Coding guidelines


24-24: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Correct the Alpine Desktop version boundary.

Set the Alpine row to 3.24 and newer for the Desktop app and keep 3.23 and newer for the CLI. Line 24 currently advertises netbird-ui for Alpine 3.23, but the Desktop instructions later scope netbird-ui installation to Alpine 3.24 and newer.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/get-started/install/linux.mdx` at line 24, Update the Alpine Linux
row in the installation compatibility table so the Desktop app version is 3.24
and newer, while retaining 3.23 and newer for the CLI.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/pages/get-started/install/linux.mdx`:
- Around line 135-139: Update the GNOME installation snippet to use a bash code
fence and revise the Wayland instruction to say “log out and log in again,”
including the comma after “Wayland.”
- Around line 142-149: Update the Alpine Linux CLI installation section to
instruct users to enable the community repository in /etc/apk/repositories
before installation. Ensure the apk add, rc-service, netbird up, and rc-update
commands include sudo while preserving their existing order and behavior.

---

Outside diff comments:
In `@src/pages/get-started/install/linux.mdx`:
- Around line 142-159: Fix the MDX build configuration around remark.mjs by
resolving or removing the missing mdx-annotations package import. Ensure the
documentation build completes successfully and generates the netbirdio/docs
pages, while preserving the Alpine Linux installation content.
- Line 24: Update the Alpine Linux row in the installation compatibility table
so the Desktop app version is 3.24 and newer, while retaining 3.23 and newer for
the CLI.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 83c48f39-94cd-41f7-b185-0af71e76d62c

📥 Commits

Reviewing files that changed from the base of the PR and between 5a73877 and d92ca02.

📒 Files selected for processing (1)
  • src/pages/get-started/install/linux.mdx

Comment on lines +135 to 139
```bash
sudo dnf install gnome-shell-extension-appindicator
sudo gnome-extensions enable [email protected]
```
Under X11, you may need to restart GNOME Shell (Alt+F2, r, ⏎) after that. Under Wayland you need to logout and login again.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Fix the GNOME snippet fence and wording.

Use a bash code fence. Write log out and log in again instead of logout and login again.

Proposed fix
-```
+```bash
 sudo dnf install gnome-shell-extension-appindicator
 sudo gnome-extensions enable [email protected]

-Under X11, you may need to restart GNOME Shell (Alt+F2, r, ⏎) after that. Under Wayland you need to logout and login again.
+Under X11, you may need to restart GNOME Shell (Alt+F2, r, ⏎) after that. Under Wayland, you need to log out and log in again.

</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[grammar] ~139-~139: Ensure spelling is correct
Context: ...) after that. Under Wayland you need to logout and login again.   ### Alpine Linux - R...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @src/pages/get-started/install/linux.mdx around lines 135 - 139, Update the
GNOME installation snippet to use a bash code fence and revise the Wayland
instruction to say “log out and log in again,” including the comma after
“Wayland.”


</details>

<!-- fingerprinting:phantom:poseidon:caracal -->

<!-- cr-indicator-types:potential_issue -->

<!-- cr-comment:v1:a3f82abffe4c6ca6bb8af7c8 -->

_Source: Linters/SAST tools_

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines +142 to +149
### Alpine Linux - Requires community repository to be added to apk configuration
#### For CLI only:
```bash
apk add netbird netbird-openrc
rc-service netbird start
netbird up
rc-update add netbird default
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Locate file =="
git ls-files | grep -F 'src/pages/get-started/install/linux.mdx' || true

echo "== Relevant excerpt =="
cat -n src/pages/get-started/install/linux.mdx | sed -n '120,165p'

echo "== Alpine repository heading nearby =="
rg -n -C 3 -i 'Alpine|apk|community|netbird-openrc|netbird-ui|rc-service|rc-update|sudo' src/pages/get-started/install/linux.mdx

echo "== Related Linux sections =="
cat -n src/pages/get-started/install/linux.mdx | sed -n '1,220p'

Repository: netbirdio/docs

Length of output: 17932


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo "== MDX build requirement files =="
git ls-files | grep -E '(^|/)(package\.json|pnpm-lock\.yaml|package-lock\.json|yarn\.lock|bun\.lockb?)$' || true

echo "== package scripts =="
if [ -f package.json ]; then
  jq '.scripts // {}' package.json
fi

echo "== docs-static directories =="
git ls-files public/docs-static | sed -n '1,80p' || true

Repository: netbirdio/docs

Length of output: 6877


🌐 Web query:

Alpine Linux apk community repository enabled by default /etc/apk/repositories

💡 Result:

The community repository is not enabled by default in Alpine Linux [1][2][3]. By default, only the main repository is enabled in the /etc/apk/repositories file [2][4][3]. To enable the community repository, you can manually edit /etc/apk/repositories and remove the hash (#) character from the beginning of the line that points to the community repository [1][4][3]. Alternatively, you can use the setup-apkrepos script provided by Alpine Linux [1][4][5]. For example, running setup-apkrepos -c will enable the community repository [6][5]. After making these changes, it is necessary to run apk update to refresh the package index and make the packages in the community repository available for installation [3].

Citations:


Make the Alpine path mention repository changes and make the commands executable.

These commands assume the community repository is already enabled, which conflicts with the current apk configuration. Tell users how to enable community in /etc/apk/repositories before installing. Also keep sudo on the apk, OpenRC, and netbird up commands.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/get-started/install/linux.mdx` around lines 142 - 149, Update the
Alpine Linux CLI installation section to instruct users to enable the community
repository in /etc/apk/repositories before installation. Ensure the apk add,
rc-service, netbird up, and rc-update commands include sudo while preserving
their existing order and behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants